{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "间隔  116\n",
      "50% x轴坐标: 0.734287\n",
      "90% x轴坐标: 2.066547\n",
      "95% x轴坐标: 2.867295\n",
      "99% x轴坐标: 5.141127\n",
      "间隔  104\n",
      "50% x轴坐标: 0.733291\n",
      "90% x轴坐标: 2.059083\n",
      "95% x轴坐标: 2.816515\n",
      "99% x轴坐标: 4.943211\n",
      "间隔  92\n",
      "50% x轴坐标: 0.733227\n",
      "90% x轴坐标: 2.057659\n",
      "95% x轴坐标: 2.808471\n",
      "99% x轴坐标: 4.827687\n",
      "cdf_picture/test_write.png\n"
     ]
    },
    {
     "data": {
      "image/png": "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s/6LIzuxVCIi7Xv77bcZMmRIpovRpVJds5m96pwb0c4hQM7XoCKqQYmIZKncDlDxMOFQLNPFEBGRFHI8QKkGJSKSrXI+QIUVoEREslJOByinGpSISNbK6QAVj0eI6BmUiOSgPfbYY8P+smXLOO644xg5ciQ//vGP2z1m7dq1nHDCCRx66KH84he/AKCuro7TTz+dww47jB/+8IedWsacDlAulkdENSgRyXE33ngjF110ES+//DKvvPIKy5cvT5nvD3/4A8cccwwLFixg9uzZVFZWcuONN7Lvvvvy0ksvUVlZyauvvtpp5crpqY7iLqwalIhkzGUzLuP15a936jmH9xvODeNv2KZj+vfvz/3338+YMWOYNWtWu/lmz57NTTfdBMDdd99Njx49ePrpp7nuuusA+Pa3v01BQcF2lz1ZTgcoF8sjHIpnuhgiIhl1ySWXUFBQwLhx4zj33HO54oorOPLITScw+MEPfkBVVRVlZWX86Ec/YtasWdx5552sWLGCXr16AXD00Ud3arlyPEAVkB9uyXQxRCRHbWtNJ10WLVrEueeeyznnnMMJJ5zAqFGjmDdv3mb5rrvuOmpqavjDH/7Aj3/8YxobGzeZLPa2225j7733Zty4cZ1Srpx+BkUsn0hETXwiktt++9vf8tJLLxGNRtl9991pbGxMmW/06NE8+eSTACkni3388cepqKjotHLlbIByDojlkx9WgBKR3DZ58mSuuuoqRo8eTUtLC8cee2zKfD/96U954YUXOOyww1i9evWGtDlz5nDIIYew//77s//++3dauXK2iS8WAwiRpwAlIjnogw8+2LC/3377MX/+/A6P6dOnzyazn7dpq1V1tpytQTU0+sCkGpSISHbK2QBV1+g7RxTkqRefiEg2yt0A1eADVH5EAUpEJBvlbICqbWgGIBrZcRdsFBHpznI2QLXVoAryMlwQERFJKYcDVFCDUoASkRxz9dVX89e//nWTtJqaGoqLi6mpqWn3OOccl156KaNGjeLUU0+ludnfRydPnswhhxzCSSedtMXjt1XuBqjaJgAK89XEJyLy3HPP0dzczPPPP99unlmzZvHJJ58wf/58hg4dyoMPPshLL73E3LlzWbBgAePHj+eOO+7otDLl7Dioulo/Ujqan7MxWkQy7LLL4PXXO/ecw4fDDTds+3EzZszgkksuYcaMGZx00kkp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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 输入SSDsim的输出文件 trace out\n",
    "# 输出trace名字和相应的read latency\n",
    "import numpy as np\n",
    "import seaborn as sns\n",
    "import sys\n",
    "from openpyxl import Workbook\n",
    "from openpyxl.utils import get_column_letter\n",
    "import pandas as pd\n",
    "import scipy\n",
    "import os\n",
    "import sys\n",
    "import matplotlib.pyplot as plt\n",
    "import math\n",
    "import matplotlib\n",
    "from numpy import cumsum\n",
    "\n",
    "arg1 = '/root/gitee/ssdsim_bak/ssdsim-master/result/test/4-15-1/HM_0_out'\n",
    "arg2 = '/root/gitee/ssdsim_bak/ssdsim-master/result/test/4-16-2/HM_0_out'\n",
    "arg3 = '/root/gitee/ssdsim_bak/ssdsim-master/result/test/4-16-1/HM_0_out'\n",
    "arg4 = 'cdf_picture/test_'\n",
    "# 数据输入\n",
    "def get_trace_reference(filename):\n",
    "\n",
    "    file_base = open(filename)\n",
    "\n",
    "    flag = 0\n",
    "\n",
    "    base_list = []\n",
    "\n",
    "    while 1:\n",
    "\n",
    "        base_lines = file_base.readlines(100000)\n",
    "\n",
    "        if (not base_lines):\n",
    "\n",
    "            break\n",
    "\n",
    "        for base_line in base_lines:\n",
    "\n",
    "            if str(base_line).startswith(\"      arrive\"):\n",
    "\n",
    "                flag = 1\n",
    "\n",
    "                continue\n",
    "\n",
    "            if str(base_line).startswith(\"the 0 channel,\"):\n",
    "\n",
    "                flag = 0\n",
    "\n",
    "            if(flag == 1):\n",
    "\n",
    "                if(len(base_line.split()) != 7):\n",
    "\n",
    "                    print(\"error\\n\")\n",
    "\n",
    "                    print(base_line.split(), len(base_line.split()))\n",
    "\n",
    "                if(int(base_line.split()[3]) == 0):\n",
    "\n",
    "                    base_list.append(int(base_line.split()[6]))\n",
    "\n",
    "    file_base.close()\n",
    "\n",
    "    return base_list\n",
    "\n",
    "\n",
    "def get_hist(latencys):\n",
    "\n",
    "    # 分割为1000份\n",
    "    max_latency = max(latencys)\n",
    "\n",
    "    min_latency = min(latencys)\n",
    "\n",
    "    granularity = 1000000\n",
    "\n",
    "    bins = math.ceil((max_latency-min_latency) /\n",
    "                     granularity)  # ceil() 函数返回数字的上入整数。\n",
    "\n",
    "    print(\"间隔 \", bins)\n",
    "    counters = [0 for i in range(granularity)]\n",
    "\n",
    "    for item in latencys:\n",
    "\n",
    "        i = math.ceil((item-min_latency)/bins)\n",
    "\n",
    "        if(i < 0 or i > (granularity-1)):\n",
    "\n",
    "            print(\"overflow:\", i)\n",
    "\n",
    "        if(i == granularity):\n",
    "\n",
    "            i = i-1\n",
    "\n",
    "        if(i == granularity+1):\n",
    "\n",
    "            i = i-2\n",
    "\n",
    "        counters[i] = counters[i]+1\n",
    "\n",
    "    sums = sum(counters)\n",
    "\n",
    "    probability_counters = list(map(lambda x: x*1.0/sums, counters))\n",
    "\n",
    "    # print(probability_counters,sum(probability_counters))\n",
    "\n",
    "    probability_counters = cumsum(probability_counters)\n",
    "\n",
    "    return probability_counters, [(min_latency+i*bins)/1e6 for i in range(granularity)]\n",
    "\n",
    "\n",
    "base1 = get_trace_reference(arg1)\n",
    "base2 = get_trace_reference(arg2)\n",
    "gc = get_trace_reference(arg3)\n",
    "\n",
    "y, x = get_hist(base1)\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.5) < 0.01 or j > 0.5):\n",
    "\n",
    "        print(\"50% x轴坐标:\", i)\n",
    "\n",
    "        label = i\n",
    "\n",
    "        break\n",
    "\n",
    "\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.9) < 0.01 or j > 0.9):\n",
    "\n",
    "        print(\"90% x轴坐标:\", i)\n",
    "        break\n",
    "\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.95) < 0.01 or j > 0.95):\n",
    "\n",
    "        print(\"95% x轴坐标:\", i)\n",
    "\n",
    "        val_x = i\n",
    "\n",
    "        break\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.99) < 0.01 or j > 0.99):\n",
    "\n",
    "        print(\"99% x轴坐标:\", i)\n",
    "\n",
    "        break\n",
    "index = x.index(val_x)\n",
    "x1 = x[index:]\n",
    "y1 = y[index:]\n",
    "\n",
    "y, x = get_hist(base2)\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.5) < 0.01 or j > 0.5):\n",
    "\n",
    "        print(\"50% x轴坐标:\", i)\n",
    "\n",
    "        label = i\n",
    "\n",
    "        break\n",
    "\n",
    "\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.9) < 0.01 or j > 0.9):\n",
    "\n",
    "        print(\"90% x轴坐标:\", i)\n",
    "        break\n",
    "\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.95) < 0.01 or j > 0.95):\n",
    "\n",
    "        print(\"95% x轴坐标:\", i)\n",
    "\n",
    "        val_x = i\n",
    "\n",
    "        break\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.99) < 0.01 or j > 0.99):\n",
    "\n",
    "        print(\"99% x轴坐标:\", i)\n",
    "\n",
    "        break\n",
    "index = x.index(val_x)\n",
    "x2 = x[index:]\n",
    "y2 = y[index:]\n",
    "\n",
    "y, x = get_hist(gc)\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.5) < 0.01 or j > 0.5):\n",
    "\n",
    "        print(\"50% x轴坐标:\", i)\n",
    "\n",
    "        break\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.9) < 0.01 or j > 0.9):\n",
    "\n",
    "        print(\"90% x轴坐标:\", i)\n",
    "\n",
    "        break\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.95) < 0.01 or j > 0.95):\n",
    "\n",
    "        print(\"95% x轴坐标:\", i)\n",
    "\n",
    "        val_x = i\n",
    "\n",
    "        break\n",
    "for (i, j) in zip(x, y):\n",
    "\n",
    "    if(abs(j-0.99) < 0.01 or j > 0.99):\n",
    "\n",
    "        print(\"99% x轴坐标:\", i)\n",
    "\n",
    "        break\n",
    "\n",
    "index = x.index(val_x)\n",
    "x3 = x[index:]\n",
    "y3 = y[index:]\n",
    "\n",
    "\n",
    "plt.rcParams['xtick.direction'] = 'in'\n",
    "plt.rcParams['ytick.direction'] = 'in'\n",
    "# tick_params(direction='in')\n",
    "ax = plt.gca()\n",
    "# ax.spines['right'].set_color('none')\n",
    "# ax.spines['top'].set_color('none')\n",
    "ax.spines['top'].set_visible(True)\n",
    "ax.spines['right'].set_visible(True)\n",
    "plt.ylabel(\"CDF\", fontsize=15)\n",
    "plt.xlabel(u\"写请求延迟(单位：毫秒)\", fontsize=15)\n",
    "plt.plot(x1, y1, 'r', label=\"GR-GC\")\n",
    "plt.legend()\n",
    "\n",
    "plt.plot(x2, y2, 'g', label=\"IS-GC\")\n",
    "plt.legend()\n",
    "\n",
    "plt.plot(x3, y3, 'b', label=\"LA-GC\")\n",
    "plt.legend()\n",
    "\n",
    "\n",
    "plt.tight_layout()\n",
    "\n",
    "print(arg4+\"write.png\")\n",
    "plt.savefig(arg4+\"write.png\", bbox_inches='tight', dpi=1000)\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[2.808471,\n",
       " 2.808563,\n",
       " 2.808655,\n",
       " 2.808747,\n",
       " 2.808839,\n",
       " 2.808931,\n",
       " 2.809023,\n",
       " 2.809115,\n",
       " 2.809207,\n",
       " 2.809299,\n",
       " 2.809391,\n",
       " 2.809483,\n",
       " 2.809575,\n",
       " 2.809667,\n",
       " 2.809759,\n",
       " 2.809851,\n",
       " 2.809943,\n",
       " 2.810035,\n",
       " 2.810127,\n",
       " 2.810219,\n",
       " 2.810311,\n",
       " 2.810403,\n",
       " 2.810495,\n",
       " 2.810587,\n",
       " 2.810679,\n",
       " 2.810771,\n",
       " 2.810863,\n",
       " 2.810955,\n",
       " 2.811047,\n",
       " 2.811139,\n",
       " 2.811231,\n",
       " 2.811323,\n",
       " 2.811415,\n",
       " 2.811507,\n",
       " 2.811599,\n",
       " 2.811691,\n",
       " 2.811783,\n",
       " 2.811875,\n",
       " 2.811967,\n",
       " 2.812059,\n",
       " 2.812151,\n",
       " 2.812243,\n",
       " 2.812335,\n",
       " 2.812427,\n",
       " 2.812519,\n",
       " 2.812611,\n",
       " 2.812703,\n",
       " 2.812795,\n",
       " 2.812887,\n",
       " 2.812979,\n",
       " 2.813071,\n",
       " 2.813163,\n",
       " 2.813255,\n",
       " 2.813347,\n",
       " 2.813439,\n",
       " 2.813531,\n",
       " 2.813623,\n",
       " 2.813715,\n",
       " 2.813807,\n",
       " 2.813899,\n",
       " 2.813991,\n",
       " 2.814083,\n",
       " 2.814175,\n",
       " 2.814267,\n",
       " 2.814359,\n",
       " 2.814451,\n",
       " 2.814543,\n",
       " 2.814635,\n",
       " 2.814727,\n",
       " 2.814819,\n",
       " 2.814911,\n",
       " 2.815003,\n",
       " 2.815095,\n",
       " 2.815187,\n",
       " 2.815279,\n",
       " 2.815371,\n",
       " 2.815463,\n",
       " 2.815555,\n",
       " 2.815647,\n",
       " 2.815739,\n",
       " 2.815831,\n",
       " 2.815923,\n",
       " 2.816015,\n",
       " 2.816107,\n",
       " 2.816199,\n",
       " 2.816291,\n",
       " 2.816383,\n",
       " 2.816475,\n",
       " 2.816567,\n",
       " 2.816659,\n",
       " 2.816751,\n",
       " 2.816843,\n",
       " 2.816935,\n",
       " 2.817027,\n",
       " 2.817119,\n",
       " 2.817211,\n",
       " 2.817303,\n",
       " 2.817395,\n",
       " 2.817487,\n",
       " 2.817579,\n",
       " 2.817671,\n",
       " 2.817763,\n",
       " 2.817855,\n",
       " 2.817947,\n",
       " 2.818039,\n",
       " 2.818131,\n",
       " 2.818223,\n",
       " 2.818315,\n",
       " 2.818407,\n",
       " 2.818499,\n",
       " 2.818591,\n",
       " 2.818683,\n",
       " 2.818775,\n",
       " 2.818867,\n",
       " 2.818959,\n",
       " 2.819051,\n",
       " 2.819143,\n",
       " 2.819235,\n",
       " 2.819327,\n",
       " 2.819419,\n",
       " 2.819511,\n",
       " 2.819603,\n",
       " 2.819695,\n",
       " 2.819787,\n",
       " 2.819879,\n",
       " 2.819971,\n",
       " 2.820063,\n",
       " 2.820155,\n",
       " 2.820247,\n",
       " 2.820339,\n",
       " 2.820431,\n",
       " 2.820523,\n",
       " 2.820615,\n",
       " 2.820707,\n",
       " 2.820799,\n",
       " 2.820891,\n",
       " 2.820983,\n",
       " 2.821075,\n",
       " 2.821167,\n",
       " 2.821259,\n",
       " 2.821351,\n",
       " 2.821443,\n",
       " 2.821535,\n",
       " 2.821627,\n",
       " 2.821719,\n",
       " 2.821811,\n",
       " 2.821903,\n",
       " 2.821995,\n",
       " 2.822087,\n",
       " 2.822179,\n",
       " 2.822271,\n",
       " 2.822363,\n",
       " 2.822455,\n",
       " 2.822547,\n",
       " 2.822639,\n",
       " 2.822731,\n",
       " 2.822823,\n",
       " 2.822915,\n",
       " 2.823007,\n",
       " 2.823099,\n",
       " 2.823191,\n",
       " 2.823283,\n",
       " 2.823375,\n",
       " 2.823467,\n",
       " 2.823559,\n",
       " 2.823651,\n",
       " 2.823743,\n",
       " 2.823835,\n",
       " 2.823927,\n",
       " 2.824019,\n",
       " 2.824111,\n",
       " 2.824203,\n",
       " 2.824295,\n",
       " 2.824387,\n",
       " 2.824479,\n",
       " 2.824571,\n",
       " 2.824663,\n",
       " 2.824755,\n",
       " 2.824847,\n",
       " 2.824939,\n",
       " 2.825031,\n",
       " 2.825123,\n",
       " 2.825215,\n",
       " 2.825307,\n",
       " 2.825399,\n",
       " 2.825491,\n",
       " 2.825583,\n",
       " 2.825675,\n",
       " 2.825767,\n",
       " 2.825859,\n",
       " 2.825951,\n",
       " 2.826043,\n",
       " 2.826135,\n",
       " 2.826227,\n",
       " 2.826319,\n",
       " 2.826411,\n",
       " 2.826503,\n",
       " 2.826595,\n",
       " 2.826687,\n",
       " 2.826779,\n",
       " 2.826871,\n",
       " 2.826963,\n",
       " 2.827055,\n",
       " 2.827147,\n",
       " 2.827239,\n",
       " 2.827331,\n",
       " 2.827423,\n",
       " 2.827515,\n",
       " 2.827607,\n",
       " 2.827699,\n",
       " 2.827791,\n",
       " 2.827883,\n",
       " 2.827975,\n",
       " 2.828067,\n",
       " 2.828159,\n",
       " 2.828251,\n",
       " 2.828343,\n",
       " 2.828435,\n",
       " 2.828527,\n",
       " 2.828619,\n",
       " 2.828711,\n",
       " 2.828803,\n",
       " 2.828895,\n",
       " 2.828987,\n",
       " 2.829079,\n",
       " 2.829171,\n",
       " 2.829263,\n",
       " 2.829355,\n",
       " 2.829447,\n",
       " 2.829539,\n",
       " 2.829631,\n",
       " 2.829723,\n",
       " 2.829815,\n",
       " 2.829907,\n",
       " 2.829999,\n",
       " 2.830091,\n",
       " 2.830183,\n",
       " 2.830275,\n",
       " 2.830367,\n",
       " 2.830459,\n",
       " 2.830551,\n",
       " 2.830643,\n",
       " 2.830735,\n",
       " 2.830827,\n",
       " 2.830919,\n",
       " 2.831011,\n",
       " 2.831103,\n",
       " 2.831195,\n",
       " 2.831287,\n",
       " 2.831379,\n",
       " 2.831471,\n",
       " 2.831563,\n",
       " 2.831655,\n",
       " 2.831747,\n",
       " 2.831839,\n",
       " 2.831931,\n",
       " 2.832023,\n",
       " 2.832115,\n",
       " 2.832207,\n",
       " 2.832299,\n",
       " 2.832391,\n",
       " 2.832483,\n",
       " 2.832575,\n",
       " 2.832667,\n",
       " 2.832759,\n",
       " 2.832851,\n",
       " 2.832943,\n",
       " 2.833035,\n",
       " 2.833127,\n",
       " 2.833219,\n",
       " 2.833311,\n",
       " 2.833403,\n",
       " 2.833495,\n",
       " 2.833587,\n",
       " 2.833679,\n",
       " 2.833771,\n",
       " 2.833863,\n",
       " 2.833955,\n",
       " 2.834047,\n",
       " 2.834139,\n",
       " 2.834231,\n",
       " 2.834323,\n",
       " 2.834415,\n",
       " 2.834507,\n",
       " 2.834599,\n",
       " 2.834691,\n",
       " 2.834783,\n",
       " 2.834875,\n",
       " 2.834967,\n",
       " 2.835059,\n",
       " 2.835151,\n",
       " 2.835243,\n",
       " 2.835335,\n",
       " 2.835427,\n",
       " 2.835519,\n",
       " 2.835611,\n",
       " 2.835703,\n",
       " 2.835795,\n",
       " 2.835887,\n",
       " 2.835979,\n",
       " 2.836071,\n",
       " 2.836163,\n",
       " 2.836255,\n",
       " 2.836347,\n",
       " 2.836439,\n",
       " 2.836531,\n",
       " 2.836623,\n",
       " 2.836715,\n",
       " 2.836807,\n",
       " 2.836899,\n",
       " 2.836991,\n",
       " 2.837083,\n",
       " 2.837175,\n",
       " 2.837267,\n",
       " 2.837359,\n",
       " 2.837451,\n",
       " 2.837543,\n",
       " 2.837635,\n",
       " 2.837727,\n",
       " 2.837819,\n",
       " 2.837911,\n",
       " 2.838003,\n",
       " 2.838095,\n",
       " 2.838187,\n",
       " 2.838279,\n",
       " 2.838371,\n",
       " 2.838463,\n",
       " 2.838555,\n",
       " 2.838647,\n",
       " 2.838739,\n",
       " 2.838831,\n",
       " 2.838923,\n",
       " 2.839015,\n",
       " 2.839107,\n",
       " 2.839199,\n",
       " 2.839291,\n",
       " 2.839383,\n",
       " 2.839475,\n",
       " 2.839567,\n",
       " 2.839659,\n",
       " 2.839751,\n",
       " 2.839843,\n",
       " 2.839935,\n",
       " 2.840027,\n",
       " 2.840119,\n",
       " 2.840211,\n",
       " 2.840303,\n",
       " 2.840395,\n",
       " 2.840487,\n",
       " 2.840579,\n",
       " 2.840671,\n",
       " 2.840763,\n",
       " 2.840855,\n",
       " 2.840947,\n",
       " 2.841039,\n",
       " 2.841131,\n",
       " 2.841223,\n",
       " 2.841315,\n",
       " 2.841407,\n",
       " 2.841499,\n",
       " 2.841591,\n",
       " 2.841683,\n",
       " 2.841775,\n",
       " 2.841867,\n",
       " 2.841959,\n",
       " 2.842051,\n",
       " 2.842143,\n",
       " 2.842235,\n",
       " 2.842327,\n",
       " 2.842419,\n",
       " 2.842511,\n",
       " 2.842603,\n",
       " 2.842695,\n",
       " 2.842787,\n",
       " 2.842879,\n",
       " 2.842971,\n",
       " 2.843063,\n",
       " 2.843155,\n",
       " 2.843247,\n",
       " 2.843339,\n",
       " 2.843431,\n",
       " 2.843523,\n",
       " 2.843615,\n",
       " 2.843707,\n",
       " 2.843799,\n",
       " 2.843891,\n",
       " 2.843983,\n",
       " 2.844075,\n",
       " 2.844167,\n",
       " 2.844259,\n",
       " 2.844351,\n",
       " 2.844443,\n",
       " 2.844535,\n",
       " 2.844627,\n",
       " 2.844719,\n",
       " 2.844811,\n",
       " 2.844903,\n",
       " 2.844995,\n",
       " 2.845087,\n",
       " 2.845179,\n",
       " 2.845271,\n",
       " 2.845363,\n",
       " 2.845455,\n",
       " 2.845547,\n",
       " 2.845639,\n",
       " 2.845731,\n",
       " 2.845823,\n",
       " 2.845915,\n",
       " 2.846007,\n",
       " 2.846099,\n",
       " 2.846191,\n",
       " 2.846283,\n",
       " 2.846375,\n",
       " 2.846467,\n",
       " 2.846559,\n",
       " 2.846651,\n",
       " 2.846743,\n",
       " 2.846835,\n",
       " 2.846927,\n",
       " 2.847019,\n",
       " 2.847111,\n",
       " 2.847203,\n",
       " 2.847295,\n",
       " 2.847387,\n",
       " 2.847479,\n",
       " 2.847571,\n",
       " 2.847663,\n",
       " 2.847755,\n",
       " 2.847847,\n",
       " 2.847939,\n",
       " 2.848031,\n",
       " 2.848123,\n",
       " 2.848215,\n",
       " 2.848307,\n",
       " 2.848399,\n",
       " 2.848491,\n",
       " 2.848583,\n",
       " 2.848675,\n",
       " 2.848767,\n",
       " 2.848859,\n",
       " 2.848951,\n",
       " 2.849043,\n",
       " 2.849135,\n",
       " 2.849227,\n",
       " 2.849319,\n",
       " 2.849411,\n",
       " 2.849503,\n",
       " 2.849595,\n",
       " 2.849687,\n",
       " 2.849779,\n",
       " 2.849871,\n",
       " 2.849963,\n",
       " 2.850055,\n",
       " 2.850147,\n",
       " 2.850239,\n",
       " 2.850331,\n",
       " 2.850423,\n",
       " 2.850515,\n",
       " 2.850607,\n",
       " 2.850699,\n",
       " 2.850791,\n",
       " 2.850883,\n",
       " 2.850975,\n",
       " 2.851067,\n",
       " 2.851159,\n",
       " 2.851251,\n",
       " 2.851343,\n",
       " 2.851435,\n",
       " 2.851527,\n",
       " 2.851619,\n",
       " 2.851711,\n",
       " 2.851803,\n",
       " 2.851895,\n",
       " 2.851987,\n",
       " 2.852079,\n",
       " 2.852171,\n",
       " 2.852263,\n",
       " 2.852355,\n",
       " 2.852447,\n",
       " 2.852539,\n",
       " 2.852631,\n",
       " 2.852723,\n",
       " 2.852815,\n",
       " 2.852907,\n",
       " 2.852999,\n",
       " 2.853091,\n",
       " 2.853183,\n",
       " 2.853275,\n",
       " 2.853367,\n",
       " 2.853459,\n",
       " 2.853551,\n",
       " 2.853643,\n",
       " 2.853735,\n",
       " 2.853827,\n",
       " 2.853919,\n",
       " 2.854011,\n",
       " 2.854103,\n",
       " 2.854195,\n",
       " 2.854287,\n",
       " 2.854379,\n",
       " 2.854471,\n",
       " 2.854563,\n",
       " 2.854655,\n",
       " 2.854747,\n",
       " 2.854839,\n",
       " 2.854931,\n",
       " 2.855023,\n",
       " 2.855115,\n",
       " 2.855207,\n",
       " 2.855299,\n",
       " 2.855391,\n",
       " 2.855483,\n",
       " 2.855575,\n",
       " 2.855667,\n",
       " 2.855759,\n",
       " 2.855851,\n",
       " 2.855943,\n",
       " 2.856035,\n",
       " 2.856127,\n",
       " 2.856219,\n",
       " 2.856311,\n",
       " 2.856403,\n",
       " 2.856495,\n",
       " 2.856587,\n",
       " 2.856679,\n",
       " 2.856771,\n",
       " 2.856863,\n",
       " 2.856955,\n",
       " 2.857047,\n",
       " 2.857139,\n",
       " 2.857231,\n",
       " 2.857323,\n",
       " 2.857415,\n",
       " 2.857507,\n",
       " 2.857599,\n",
       " 2.857691,\n",
       " 2.857783,\n",
       " 2.857875,\n",
       " 2.857967,\n",
       " 2.858059,\n",
       " 2.858151,\n",
       " 2.858243,\n",
       " 2.858335,\n",
       " 2.858427,\n",
       " 2.858519,\n",
       " 2.858611,\n",
       " 2.858703,\n",
       " 2.858795,\n",
       " 2.858887,\n",
       " 2.858979,\n",
       " 2.859071,\n",
       " 2.859163,\n",
       " 2.859255,\n",
       " 2.859347,\n",
       " 2.859439,\n",
       " 2.859531,\n",
       " 2.859623,\n",
       " 2.859715,\n",
       " 2.859807,\n",
       " 2.859899,\n",
       " 2.859991,\n",
       " 2.860083,\n",
       " 2.860175,\n",
       " 2.860267,\n",
       " 2.860359,\n",
       " 2.860451,\n",
       " 2.860543,\n",
       " 2.860635,\n",
       " 2.860727,\n",
       " 2.860819,\n",
       " 2.860911,\n",
       " 2.861003,\n",
       " 2.861095,\n",
       " 2.861187,\n",
       " 2.861279,\n",
       " 2.861371,\n",
       " 2.861463,\n",
       " 2.861555,\n",
       " 2.861647,\n",
       " 2.861739,\n",
       " 2.861831,\n",
       " 2.861923,\n",
       " 2.862015,\n",
       " 2.862107,\n",
       " 2.862199,\n",
       " 2.862291,\n",
       " 2.862383,\n",
       " 2.862475,\n",
       " 2.862567,\n",
       " 2.862659,\n",
       " 2.862751,\n",
       " 2.862843,\n",
       " 2.862935,\n",
       " 2.863027,\n",
       " 2.863119,\n",
       " 2.863211,\n",
       " 2.863303,\n",
       " 2.863395,\n",
       " 2.863487,\n",
       " 2.863579,\n",
       " 2.863671,\n",
       " 2.863763,\n",
       " 2.863855,\n",
       " 2.863947,\n",
       " 2.864039,\n",
       " 2.864131,\n",
       " 2.864223,\n",
       " 2.864315,\n",
       " 2.864407,\n",
       " 2.864499,\n",
       " 2.864591,\n",
       " 2.864683,\n",
       " 2.864775,\n",
       " 2.864867,\n",
       " 2.864959,\n",
       " 2.865051,\n",
       " 2.865143,\n",
       " 2.865235,\n",
       " 2.865327,\n",
       " 2.865419,\n",
       " 2.865511,\n",
       " 2.865603,\n",
       " 2.865695,\n",
       " 2.865787,\n",
       " 2.865879,\n",
       " 2.865971,\n",
       " 2.866063,\n",
       " 2.866155,\n",
       " 2.866247,\n",
       " 2.866339,\n",
       " 2.866431,\n",
       " 2.866523,\n",
       " 2.866615,\n",
       " 2.866707,\n",
       " 2.866799,\n",
       " 2.866891,\n",
       " 2.866983,\n",
       " 2.867075,\n",
       " 2.867167,\n",
       " 2.867259,\n",
       " 2.867351,\n",
       " 2.867443,\n",
       " 2.867535,\n",
       " 2.867627,\n",
       " 2.867719,\n",
       " 2.867811,\n",
       " 2.867903,\n",
       " 2.867995,\n",
       " 2.868087,\n",
       " 2.868179,\n",
       " 2.868271,\n",
       " 2.868363,\n",
       " 2.868455,\n",
       " 2.868547,\n",
       " 2.868639,\n",
       " 2.868731,\n",
       " 2.868823,\n",
       " 2.868915,\n",
       " 2.869007,\n",
       " 2.869099,\n",
       " 2.869191,\n",
       " 2.869283,\n",
       " 2.869375,\n",
       " 2.869467,\n",
       " 2.869559,\n",
       " 2.869651,\n",
       " 2.869743,\n",
       " 2.869835,\n",
       " 2.869927,\n",
       " 2.870019,\n",
       " 2.870111,\n",
       " 2.870203,\n",
       " 2.870295,\n",
       " 2.870387,\n",
       " 2.870479,\n",
       " 2.870571,\n",
       " 2.870663,\n",
       " 2.870755,\n",
       " 2.870847,\n",
       " 2.870939,\n",
       " 2.871031,\n",
       " 2.871123,\n",
       " 2.871215,\n",
       " 2.871307,\n",
       " 2.871399,\n",
       " 2.871491,\n",
       " 2.871583,\n",
       " 2.871675,\n",
       " 2.871767,\n",
       " 2.871859,\n",
       " 2.871951,\n",
       " 2.872043,\n",
       " 2.872135,\n",
       " 2.872227,\n",
       " 2.872319,\n",
       " 2.872411,\n",
       " 2.872503,\n",
       " 2.872595,\n",
       " 2.872687,\n",
       " 2.872779,\n",
       " 2.872871,\n",
       " 2.872963,\n",
       " 2.873055,\n",
       " 2.873147,\n",
       " 2.873239,\n",
       " 2.873331,\n",
       " 2.873423,\n",
       " 2.873515,\n",
       " 2.873607,\n",
       " 2.873699,\n",
       " 2.873791,\n",
       " 2.873883,\n",
       " 2.873975,\n",
       " 2.874067,\n",
       " 2.874159,\n",
       " 2.874251,\n",
       " 2.874343,\n",
       " 2.874435,\n",
       " 2.874527,\n",
       " 2.874619,\n",
       " 2.874711,\n",
       " 2.874803,\n",
       " 2.874895,\n",
       " 2.874987,\n",
       " 2.875079,\n",
       " 2.875171,\n",
       " 2.875263,\n",
       " 2.875355,\n",
       " 2.875447,\n",
       " 2.875539,\n",
       " 2.875631,\n",
       " 2.875723,\n",
       " 2.875815,\n",
       " 2.875907,\n",
       " 2.875999,\n",
       " 2.876091,\n",
       " 2.876183,\n",
       " 2.876275,\n",
       " 2.876367,\n",
       " 2.876459,\n",
       " 2.876551,\n",
       " 2.876643,\n",
       " 2.876735,\n",
       " 2.876827,\n",
       " 2.876919,\n",
       " 2.877011,\n",
       " 2.877103,\n",
       " 2.877195,\n",
       " 2.877287,\n",
       " 2.877379,\n",
       " 2.877471,\n",
       " 2.877563,\n",
       " 2.877655,\n",
       " 2.877747,\n",
       " 2.877839,\n",
       " 2.877931,\n",
       " 2.878023,\n",
       " 2.878115,\n",
       " 2.878207,\n",
       " 2.878299,\n",
       " 2.878391,\n",
       " 2.878483,\n",
       " 2.878575,\n",
       " 2.878667,\n",
       " 2.878759,\n",
       " 2.878851,\n",
       " 2.878943,\n",
       " 2.879035,\n",
       " 2.879127,\n",
       " 2.879219,\n",
       " 2.879311,\n",
       " 2.879403,\n",
       " 2.879495,\n",
       " 2.879587,\n",
       " 2.879679,\n",
       " 2.879771,\n",
       " 2.879863,\n",
       " 2.879955,\n",
       " 2.880047,\n",
       " 2.880139,\n",
       " 2.880231,\n",
       " 2.880323,\n",
       " 2.880415,\n",
       " 2.880507,\n",
       " 2.880599,\n",
       " 2.880691,\n",
       " 2.880783,\n",
       " 2.880875,\n",
       " 2.880967,\n",
       " 2.881059,\n",
       " 2.881151,\n",
       " 2.881243,\n",
       " 2.881335,\n",
       " 2.881427,\n",
       " 2.881519,\n",
       " 2.881611,\n",
       " 2.881703,\n",
       " 2.881795,\n",
       " 2.881887,\n",
       " 2.881979,\n",
       " 2.882071,\n",
       " 2.882163,\n",
       " 2.882255,\n",
       " 2.882347,\n",
       " 2.882439,\n",
       " 2.882531,\n",
       " 2.882623,\n",
       " 2.882715,\n",
       " 2.882807,\n",
       " 2.882899,\n",
       " 2.882991,\n",
       " 2.883083,\n",
       " 2.883175,\n",
       " 2.883267,\n",
       " 2.883359,\n",
       " 2.883451,\n",
       " 2.883543,\n",
       " 2.883635,\n",
       " 2.883727,\n",
       " 2.883819,\n",
       " 2.883911,\n",
       " 2.884003,\n",
       " 2.884095,\n",
       " 2.884187,\n",
       " 2.884279,\n",
       " 2.884371,\n",
       " 2.884463,\n",
       " 2.884555,\n",
       " 2.884647,\n",
       " 2.884739,\n",
       " 2.884831,\n",
       " 2.884923,\n",
       " 2.885015,\n",
       " 2.885107,\n",
       " 2.885199,\n",
       " 2.885291,\n",
       " 2.885383,\n",
       " 2.885475,\n",
       " 2.885567,\n",
       " 2.885659,\n",
       " 2.885751,\n",
       " 2.885843,\n",
       " 2.885935,\n",
       " 2.886027,\n",
       " 2.886119,\n",
       " 2.886211,\n",
       " 2.886303,\n",
       " 2.886395,\n",
       " 2.886487,\n",
       " 2.886579,\n",
       " 2.886671,\n",
       " 2.886763,\n",
       " 2.886855,\n",
       " 2.886947,\n",
       " 2.887039,\n",
       " 2.887131,\n",
       " 2.887223,\n",
       " 2.887315,\n",
       " 2.887407,\n",
       " 2.887499,\n",
       " 2.887591,\n",
       " 2.887683,\n",
       " 2.887775,\n",
       " 2.887867,\n",
       " 2.887959,\n",
       " 2.888051,\n",
       " 2.888143,\n",
       " 2.888235,\n",
       " 2.888327,\n",
       " 2.888419,\n",
       " 2.888511,\n",
       " 2.888603,\n",
       " 2.888695,\n",
       " 2.888787,\n",
       " 2.888879,\n",
       " 2.888971,\n",
       " 2.889063,\n",
       " 2.889155,\n",
       " 2.889247,\n",
       " 2.889339,\n",
       " 2.889431,\n",
       " 2.889523,\n",
       " 2.889615,\n",
       " 2.889707,\n",
       " 2.889799,\n",
       " 2.889891,\n",
       " 2.889983,\n",
       " 2.890075,\n",
       " 2.890167,\n",
       " 2.890259,\n",
       " 2.890351,\n",
       " 2.890443,\n",
       " 2.890535,\n",
       " 2.890627,\n",
       " 2.890719,\n",
       " 2.890811,\n",
       " 2.890903,\n",
       " 2.890995,\n",
       " 2.891087,\n",
       " 2.891179,\n",
       " 2.891271,\n",
       " 2.891363,\n",
       " 2.891455,\n",
       " 2.891547,\n",
       " 2.891639,\n",
       " 2.891731,\n",
       " 2.891823,\n",
       " 2.891915,\n",
       " 2.892007,\n",
       " 2.892099,\n",
       " 2.892191,\n",
       " 2.892283,\n",
       " 2.892375,\n",
       " 2.892467,\n",
       " 2.892559,\n",
       " 2.892651,\n",
       " 2.892743,\n",
       " 2.892835,\n",
       " 2.892927,\n",
       " 2.893019,\n",
       " 2.893111,\n",
       " 2.893203,\n",
       " 2.893295,\n",
       " 2.893387,\n",
       " 2.893479,\n",
       " 2.893571,\n",
       " 2.893663,\n",
       " 2.893755,\n",
       " 2.893847,\n",
       " 2.893939,\n",
       " 2.894031,\n",
       " 2.894123,\n",
       " 2.894215,\n",
       " 2.894307,\n",
       " 2.894399,\n",
       " 2.894491,\n",
       " 2.894583,\n",
       " 2.894675,\n",
       " 2.894767,\n",
       " 2.894859,\n",
       " 2.894951,\n",
       " 2.895043,\n",
       " 2.895135,\n",
       " 2.895227,\n",
       " 2.895319,\n",
       " 2.895411,\n",
       " 2.895503,\n",
       " 2.895595,\n",
       " 2.895687,\n",
       " 2.895779,\n",
       " 2.895871,\n",
       " 2.895963,\n",
       " 2.896055,\n",
       " 2.896147,\n",
       " 2.896239,\n",
       " 2.896331,\n",
       " 2.896423,\n",
       " 2.896515,\n",
       " 2.896607,\n",
       " 2.896699,\n",
       " 2.896791,\n",
       " 2.896883,\n",
       " 2.896975,\n",
       " 2.897067,\n",
       " 2.897159,\n",
       " 2.897251,\n",
       " 2.897343,\n",
       " 2.897435,\n",
       " 2.897527,\n",
       " 2.897619,\n",
       " 2.897711,\n",
       " 2.897803,\n",
       " 2.897895,\n",
       " 2.897987,\n",
       " 2.898079,\n",
       " 2.898171,\n",
       " 2.898263,\n",
       " 2.898355,\n",
       " 2.898447,\n",
       " 2.898539,\n",
       " 2.898631,\n",
       " 2.898723,\n",
       " 2.898815,\n",
       " 2.898907,\n",
       " 2.898999,\n",
       " 2.899091,\n",
       " 2.899183,\n",
       " 2.899275,\n",
       " 2.899367,\n",
       " 2.899459,\n",
       " 2.899551,\n",
       " 2.899643,\n",
       " 2.899735,\n",
       " 2.899827,\n",
       " 2.899919,\n",
       " 2.900011,\n",
       " 2.900103,\n",
       " 2.900195,\n",
       " 2.900287,\n",
       " 2.900379,\n",
       " ...]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[2.808471,\n",
       " 2.808563,\n",
       " 2.808655,\n",
       " 2.808747,\n",
       " 2.808839,\n",
       " 2.808931,\n",
       " 2.809023,\n",
       " 2.809115,\n",
       " 2.809207,\n",
       " 2.809299,\n",
       " 2.809391,\n",
       " 2.809483,\n",
       " 2.809575,\n",
       " 2.809667,\n",
       " 2.809759,\n",
       " 2.809851,\n",
       " 2.809943,\n",
       " 2.810035,\n",
       " 2.810127,\n",
       " 2.810219,\n",
       " 2.810311,\n",
       " 2.810403,\n",
       " 2.810495,\n",
       " 2.810587,\n",
       " 2.810679,\n",
       " 2.810771,\n",
       " 2.810863,\n",
       " 2.810955,\n",
       " 2.811047,\n",
       " 2.811139,\n",
       " 2.811231,\n",
       " 2.811323,\n",
       " 2.811415,\n",
       " 2.811507,\n",
       " 2.811599,\n",
       " 2.811691,\n",
       " 2.811783,\n",
       " 2.811875,\n",
       " 2.811967,\n",
       " 2.812059,\n",
       " 2.812151,\n",
       " 2.812243,\n",
       " 2.812335,\n",
       " 2.812427,\n",
       " 2.812519,\n",
       " 2.812611,\n",
       " 2.812703,\n",
       " 2.812795,\n",
       " 2.812887,\n",
       " 2.812979,\n",
       " 2.813071,\n",
       " 2.813163,\n",
       " 2.813255,\n",
       " 2.813347,\n",
       " 2.813439,\n",
       " 2.813531,\n",
       " 2.813623,\n",
       " 2.813715,\n",
       " 2.813807,\n",
       " 2.813899,\n",
       " 2.813991,\n",
       " 2.814083,\n",
       " 2.814175,\n",
       " 2.814267,\n",
       " 2.814359,\n",
       " 2.814451,\n",
       " 2.814543,\n",
       " 2.814635,\n",
       " 2.814727,\n",
       " 2.814819,\n",
       " 2.814911,\n",
       " 2.815003,\n",
       " 2.815095,\n",
       " 2.815187,\n",
       " 2.815279,\n",
       " 2.815371,\n",
       " 2.815463,\n",
       " 2.815555,\n",
       " 2.815647,\n",
       " 2.815739,\n",
       " 2.815831,\n",
       " 2.815923,\n",
       " 2.816015,\n",
       " 2.816107,\n",
       " 2.816199,\n",
       " 2.816291,\n",
       " 2.816383,\n",
       " 2.816475,\n",
       " 2.816567,\n",
       " 2.816659,\n",
       " 2.816751,\n",
       " 2.816843,\n",
       " 2.816935,\n",
       " 2.817027,\n",
       " 2.817119,\n",
       " 2.817211,\n",
       " 2.817303,\n",
       " 2.817395,\n",
       " 2.817487,\n",
       " 2.817579,\n",
       " 2.817671,\n",
       " 2.817763,\n",
       " 2.817855,\n",
       " 2.817947,\n",
       " 2.818039,\n",
       " 2.818131,\n",
       " 2.818223,\n",
       " 2.818315,\n",
       " 2.818407,\n",
       " 2.818499,\n",
       " 2.818591,\n",
       " 2.818683,\n",
       " 2.818775,\n",
       " 2.818867,\n",
       " 2.818959,\n",
       " 2.819051,\n",
       " 2.819143,\n",
       " 2.819235,\n",
       " 2.819327,\n",
       " 2.819419,\n",
       " 2.819511,\n",
       " 2.819603,\n",
       " 2.819695,\n",
       " 2.819787,\n",
       " 2.819879,\n",
       " 2.819971,\n",
       " 2.820063,\n",
       " 2.820155,\n",
       " 2.820247,\n",
       " 2.820339,\n",
       " 2.820431,\n",
       " 2.820523,\n",
       " 2.820615,\n",
       " 2.820707,\n",
       " 2.820799,\n",
       " 2.820891,\n",
       " 2.820983,\n",
       " 2.821075,\n",
       " 2.821167,\n",
       " 2.821259,\n",
       " 2.821351,\n",
       " 2.821443,\n",
       " 2.821535,\n",
       " 2.821627,\n",
       " 2.821719,\n",
       " 2.821811,\n",
       " 2.821903,\n",
       " 2.821995,\n",
       " 2.822087,\n",
       " 2.822179,\n",
       " 2.822271,\n",
       " 2.822363,\n",
       " 2.822455,\n",
       " 2.822547,\n",
       " 2.822639,\n",
       " 2.822731,\n",
       " 2.822823,\n",
       " 2.822915,\n",
       " 2.823007,\n",
       " 2.823099,\n",
       " 2.823191,\n",
       " 2.823283,\n",
       " 2.823375,\n",
       " 2.823467,\n",
       " 2.823559,\n",
       " 2.823651,\n",
       " 2.823743,\n",
       " 2.823835,\n",
       " 2.823927,\n",
       " 2.824019,\n",
       " 2.824111,\n",
       " 2.824203,\n",
       " 2.824295,\n",
       " 2.824387,\n",
       " 2.824479,\n",
       " 2.824571,\n",
       " 2.824663,\n",
       " 2.824755,\n",
       " 2.824847,\n",
       " 2.824939,\n",
       " 2.825031,\n",
       " 2.825123,\n",
       " 2.825215,\n",
       " 2.825307,\n",
       " 2.825399,\n",
       " 2.825491,\n",
       " 2.825583,\n",
       " 2.825675,\n",
       " 2.825767,\n",
       " 2.825859,\n",
       " 2.825951,\n",
       " 2.826043,\n",
       " 2.826135,\n",
       " 2.826227,\n",
       " 2.826319,\n",
       " 2.826411,\n",
       " 2.826503,\n",
       " 2.826595,\n",
       " 2.826687,\n",
       " 2.826779,\n",
       " 2.826871,\n",
       " 2.826963,\n",
       " 2.827055,\n",
       " 2.827147,\n",
       " 2.827239,\n",
       " 2.827331,\n",
       " 2.827423,\n",
       " 2.827515,\n",
       " 2.827607,\n",
       " 2.827699,\n",
       " 2.827791,\n",
       " 2.827883,\n",
       " 2.827975,\n",
       " 2.828067,\n",
       " 2.828159,\n",
       " 2.828251,\n",
       " 2.828343,\n",
       " 2.828435,\n",
       " 2.828527,\n",
       " 2.828619,\n",
       " 2.828711,\n",
       " 2.828803,\n",
       " 2.828895,\n",
       " 2.828987,\n",
       " 2.829079,\n",
       " 2.829171,\n",
       " 2.829263,\n",
       " 2.829355,\n",
       " 2.829447,\n",
       " 2.829539,\n",
       " 2.829631,\n",
       " 2.829723,\n",
       " 2.829815,\n",
       " 2.829907,\n",
       " 2.829999,\n",
       " 2.830091,\n",
       " 2.830183,\n",
       " 2.830275,\n",
       " 2.830367,\n",
       " 2.830459,\n",
       " 2.830551,\n",
       " 2.830643,\n",
       " 2.830735,\n",
       " 2.830827,\n",
       " 2.830919,\n",
       " 2.831011,\n",
       " 2.831103,\n",
       " 2.831195,\n",
       " 2.831287,\n",
       " 2.831379,\n",
       " 2.831471,\n",
       " 2.831563,\n",
       " 2.831655,\n",
       " 2.831747,\n",
       " 2.831839,\n",
       " 2.831931,\n",
       " 2.832023,\n",
       " 2.832115,\n",
       " 2.832207,\n",
       " 2.832299,\n",
       " 2.832391,\n",
       " 2.832483,\n",
       " 2.832575,\n",
       " 2.832667,\n",
       " 2.832759,\n",
       " 2.832851,\n",
       " 2.832943,\n",
       " 2.833035,\n",
       " 2.833127,\n",
       " 2.833219,\n",
       " 2.833311,\n",
       " 2.833403,\n",
       " 2.833495,\n",
       " 2.833587,\n",
       " 2.833679,\n",
       " 2.833771,\n",
       " 2.833863,\n",
       " 2.833955,\n",
       " 2.834047,\n",
       " 2.834139,\n",
       " 2.834231,\n",
       " 2.834323,\n",
       " 2.834415,\n",
       " 2.834507,\n",
       " 2.834599,\n",
       " 2.834691,\n",
       " 2.834783,\n",
       " 2.834875,\n",
       " 2.834967,\n",
       " 2.835059,\n",
       " 2.835151,\n",
       " 2.835243,\n",
       " 2.835335,\n",
       " 2.835427,\n",
       " 2.835519,\n",
       " 2.835611,\n",
       " 2.835703,\n",
       " 2.835795,\n",
       " 2.835887,\n",
       " 2.835979,\n",
       " 2.836071,\n",
       " 2.836163,\n",
       " 2.836255,\n",
       " 2.836347,\n",
       " 2.836439,\n",
       " 2.836531,\n",
       " 2.836623,\n",
       " 2.836715,\n",
       " 2.836807,\n",
       " 2.836899,\n",
       " 2.836991,\n",
       " 2.837083,\n",
       " 2.837175,\n",
       " 2.837267,\n",
       " 2.837359,\n",
       " 2.837451,\n",
       " 2.837543,\n",
       " 2.837635,\n",
       " 2.837727,\n",
       " 2.837819,\n",
       " 2.837911,\n",
       " 2.838003,\n",
       " 2.838095,\n",
       " 2.838187,\n",
       " 2.838279,\n",
       " 2.838371,\n",
       " 2.838463,\n",
       " 2.838555,\n",
       " 2.838647,\n",
       " 2.838739,\n",
       " 2.838831,\n",
       " 2.838923,\n",
       " 2.839015,\n",
       " 2.839107,\n",
       " 2.839199,\n",
       " 2.839291,\n",
       " 2.839383,\n",
       " 2.839475,\n",
       " 2.839567,\n",
       " 2.839659,\n",
       " 2.839751,\n",
       " 2.839843,\n",
       " 2.839935,\n",
       " 2.840027,\n",
       " 2.840119,\n",
       " 2.840211,\n",
       " 2.840303,\n",
       " 2.840395,\n",
       " 2.840487,\n",
       " 2.840579,\n",
       " 2.840671,\n",
       " 2.840763,\n",
       " 2.840855,\n",
       " 2.840947,\n",
       " 2.841039,\n",
       " 2.841131,\n",
       " 2.841223,\n",
       " 2.841315,\n",
       " 2.841407,\n",
       " 2.841499,\n",
       " 2.841591,\n",
       " 2.841683,\n",
       " 2.841775,\n",
       " 2.841867,\n",
       " 2.841959,\n",
       " 2.842051,\n",
       " 2.842143,\n",
       " 2.842235,\n",
       " 2.842327,\n",
       " 2.842419,\n",
       " 2.842511,\n",
       " 2.842603,\n",
       " 2.842695,\n",
       " 2.842787,\n",
       " 2.842879,\n",
       " 2.842971,\n",
       " 2.843063,\n",
       " 2.843155,\n",
       " 2.843247,\n",
       " 2.843339,\n",
       " 2.843431,\n",
       " 2.843523,\n",
       " 2.843615,\n",
       " 2.843707,\n",
       " 2.843799,\n",
       " 2.843891,\n",
       " 2.843983,\n",
       " 2.844075,\n",
       " 2.844167,\n",
       " 2.844259,\n",
       " 2.844351,\n",
       " 2.844443,\n",
       " 2.844535,\n",
       " 2.844627,\n",
       " 2.844719,\n",
       " 2.844811,\n",
       " 2.844903,\n",
       " 2.844995,\n",
       " 2.845087,\n",
       " 2.845179,\n",
       " 2.845271,\n",
       " 2.845363,\n",
       " 2.845455,\n",
       " 2.845547,\n",
       " 2.845639,\n",
       " 2.845731,\n",
       " 2.845823,\n",
       " 2.845915,\n",
       " 2.846007,\n",
       " 2.846099,\n",
       " 2.846191,\n",
       " 2.846283,\n",
       " 2.846375,\n",
       " 2.846467,\n",
       " 2.846559,\n",
       " 2.846651,\n",
       " 2.846743,\n",
       " 2.846835,\n",
       " 2.846927,\n",
       " 2.847019,\n",
       " 2.847111,\n",
       " 2.847203,\n",
       " 2.847295,\n",
       " 2.847387,\n",
       " 2.847479,\n",
       " 2.847571,\n",
       " 2.847663,\n",
       " 2.847755,\n",
       " 2.847847,\n",
       " 2.847939,\n",
       " 2.848031,\n",
       " 2.848123,\n",
       " 2.848215,\n",
       " 2.848307,\n",
       " 2.848399,\n",
       " 2.848491,\n",
       " 2.848583,\n",
       " 2.848675,\n",
       " 2.848767,\n",
       " 2.848859,\n",
       " 2.848951,\n",
       " 2.849043,\n",
       " 2.849135,\n",
       " 2.849227,\n",
       " 2.849319,\n",
       " 2.849411,\n",
       " 2.849503,\n",
       " 2.849595,\n",
       " 2.849687,\n",
       " 2.849779,\n",
       " 2.849871,\n",
       " 2.849963,\n",
       " 2.850055,\n",
       " 2.850147,\n",
       " 2.850239,\n",
       " 2.850331,\n",
       " 2.850423,\n",
       " 2.850515,\n",
       " 2.850607,\n",
       " 2.850699,\n",
       " 2.850791,\n",
       " 2.850883,\n",
       " 2.850975,\n",
       " 2.851067,\n",
       " 2.851159,\n",
       " 2.851251,\n",
       " 2.851343,\n",
       " 2.851435,\n",
       " 2.851527,\n",
       " 2.851619,\n",
       " 2.851711,\n",
       " 2.851803,\n",
       " 2.851895,\n",
       " 2.851987,\n",
       " 2.852079,\n",
       " 2.852171,\n",
       " 2.852263,\n",
       " 2.852355,\n",
       " 2.852447,\n",
       " 2.852539,\n",
       " 2.852631,\n",
       " 2.852723,\n",
       " 2.852815,\n",
       " 2.852907,\n",
       " 2.852999,\n",
       " 2.853091,\n",
       " 2.853183,\n",
       " 2.853275,\n",
       " 2.853367,\n",
       " 2.853459,\n",
       " 2.853551,\n",
       " 2.853643,\n",
       " 2.853735,\n",
       " 2.853827,\n",
       " 2.853919,\n",
       " 2.854011,\n",
       " 2.854103,\n",
       " 2.854195,\n",
       " 2.854287,\n",
       " 2.854379,\n",
       " 2.854471,\n",
       " 2.854563,\n",
       " 2.854655,\n",
       " 2.854747,\n",
       " 2.854839,\n",
       " 2.854931,\n",
       " 2.855023,\n",
       " 2.855115,\n",
       " 2.855207,\n",
       " 2.855299,\n",
       " 2.855391,\n",
       " 2.855483,\n",
       " 2.855575,\n",
       " 2.855667,\n",
       " 2.855759,\n",
       " 2.855851,\n",
       " 2.855943,\n",
       " 2.856035,\n",
       " 2.856127,\n",
       " 2.856219,\n",
       " 2.856311,\n",
       " 2.856403,\n",
       " 2.856495,\n",
       " 2.856587,\n",
       " 2.856679,\n",
       " 2.856771,\n",
       " 2.856863,\n",
       " 2.856955,\n",
       " 2.857047,\n",
       " 2.857139,\n",
       " 2.857231,\n",
       " 2.857323,\n",
       " 2.857415,\n",
       " 2.857507,\n",
       " 2.857599,\n",
       " 2.857691,\n",
       " 2.857783,\n",
       " 2.857875,\n",
       " 2.857967,\n",
       " 2.858059,\n",
       " 2.858151,\n",
       " 2.858243,\n",
       " 2.858335,\n",
       " 2.858427,\n",
       " 2.858519,\n",
       " 2.858611,\n",
       " 2.858703,\n",
       " 2.858795,\n",
       " 2.858887,\n",
       " 2.858979,\n",
       " 2.859071,\n",
       " 2.859163,\n",
       " 2.859255,\n",
       " 2.859347,\n",
       " 2.859439,\n",
       " 2.859531,\n",
       " 2.859623,\n",
       " 2.859715,\n",
       " 2.859807,\n",
       " 2.859899,\n",
       " 2.859991,\n",
       " 2.860083,\n",
       " 2.860175,\n",
       " 2.860267,\n",
       " 2.860359,\n",
       " 2.860451,\n",
       " 2.860543,\n",
       " 2.860635,\n",
       " 2.860727,\n",
       " 2.860819,\n",
       " 2.860911,\n",
       " 2.861003,\n",
       " 2.861095,\n",
       " 2.861187,\n",
       " 2.861279,\n",
       " 2.861371,\n",
       " 2.861463,\n",
       " 2.861555,\n",
       " 2.861647,\n",
       " 2.861739,\n",
       " 2.861831,\n",
       " 2.861923,\n",
       " 2.862015,\n",
       " 2.862107,\n",
       " 2.862199,\n",
       " 2.862291,\n",
       " 2.862383,\n",
       " 2.862475,\n",
       " 2.862567,\n",
       " 2.862659,\n",
       " 2.862751,\n",
       " 2.862843,\n",
       " 2.862935,\n",
       " 2.863027,\n",
       " 2.863119,\n",
       " 2.863211,\n",
       " 2.863303,\n",
       " 2.863395,\n",
       " 2.863487,\n",
       " 2.863579,\n",
       " 2.863671,\n",
       " 2.863763,\n",
       " 2.863855,\n",
       " 2.863947,\n",
       " 2.864039,\n",
       " 2.864131,\n",
       " 2.864223,\n",
       " 2.864315,\n",
       " 2.864407,\n",
       " 2.864499,\n",
       " 2.864591,\n",
       " 2.864683,\n",
       " 2.864775,\n",
       " 2.864867,\n",
       " 2.864959,\n",
       " 2.865051,\n",
       " 2.865143,\n",
       " 2.865235,\n",
       " 2.865327,\n",
       " 2.865419,\n",
       " 2.865511,\n",
       " 2.865603,\n",
       " 2.865695,\n",
       " 2.865787,\n",
       " 2.865879,\n",
       " 2.865971,\n",
       " 2.866063,\n",
       " 2.866155,\n",
       " 2.866247,\n",
       " 2.866339,\n",
       " 2.866431,\n",
       " 2.866523,\n",
       " 2.866615,\n",
       " 2.866707,\n",
       " 2.866799,\n",
       " 2.866891,\n",
       " 2.866983,\n",
       " 2.867075,\n",
       " 2.867167,\n",
       " 2.867259,\n",
       " 2.867351,\n",
       " 2.867443,\n",
       " 2.867535,\n",
       " 2.867627,\n",
       " 2.867719,\n",
       " 2.867811,\n",
       " 2.867903,\n",
       " 2.867995,\n",
       " 2.868087,\n",
       " 2.868179,\n",
       " 2.868271,\n",
       " 2.868363,\n",
       " 2.868455,\n",
       " 2.868547,\n",
       " 2.868639,\n",
       " 2.868731,\n",
       " 2.868823,\n",
       " 2.868915,\n",
       " 2.869007,\n",
       " 2.869099,\n",
       " 2.869191,\n",
       " 2.869283,\n",
       " 2.869375,\n",
       " 2.869467,\n",
       " 2.869559,\n",
       " 2.869651,\n",
       " 2.869743,\n",
       " 2.869835,\n",
       " 2.869927,\n",
       " 2.870019,\n",
       " 2.870111,\n",
       " 2.870203,\n",
       " 2.870295,\n",
       " 2.870387,\n",
       " 2.870479,\n",
       " 2.870571,\n",
       " 2.870663,\n",
       " 2.870755,\n",
       " 2.870847,\n",
       " 2.870939,\n",
       " 2.871031,\n",
       " 2.871123,\n",
       " 2.871215,\n",
       " 2.871307,\n",
       " 2.871399,\n",
       " 2.871491,\n",
       " 2.871583,\n",
       " 2.871675,\n",
       " 2.871767,\n",
       " 2.871859,\n",
       " 2.871951,\n",
       " 2.872043,\n",
       " 2.872135,\n",
       " 2.872227,\n",
       " 2.872319,\n",
       " 2.872411,\n",
       " 2.872503,\n",
       " 2.872595,\n",
       " 2.872687,\n",
       " 2.872779,\n",
       " 2.872871,\n",
       " 2.872963,\n",
       " 2.873055,\n",
       " 2.873147,\n",
       " 2.873239,\n",
       " 2.873331,\n",
       " 2.873423,\n",
       " 2.873515,\n",
       " 2.873607,\n",
       " 2.873699,\n",
       " 2.873791,\n",
       " 2.873883,\n",
       " 2.873975,\n",
       " 2.874067,\n",
       " 2.874159,\n",
       " 2.874251,\n",
       " 2.874343,\n",
       " 2.874435,\n",
       " 2.874527,\n",
       " 2.874619,\n",
       " 2.874711,\n",
       " 2.874803,\n",
       " 2.874895,\n",
       " 2.874987,\n",
       " 2.875079,\n",
       " 2.875171,\n",
       " 2.875263,\n",
       " 2.875355,\n",
       " 2.875447,\n",
       " 2.875539,\n",
       " 2.875631,\n",
       " 2.875723,\n",
       " 2.875815,\n",
       " 2.875907,\n",
       " 2.875999,\n",
       " 2.876091,\n",
       " 2.876183,\n",
       " 2.876275,\n",
       " 2.876367,\n",
       " 2.876459,\n",
       " 2.876551,\n",
       " 2.876643,\n",
       " 2.876735,\n",
       " 2.876827,\n",
       " 2.876919,\n",
       " 2.877011,\n",
       " 2.877103,\n",
       " 2.877195,\n",
       " 2.877287,\n",
       " 2.877379,\n",
       " 2.877471,\n",
       " 2.877563,\n",
       " 2.877655,\n",
       " 2.877747,\n",
       " 2.877839,\n",
       " 2.877931,\n",
       " 2.878023,\n",
       " 2.878115,\n",
       " 2.878207,\n",
       " 2.878299,\n",
       " 2.878391,\n",
       " 2.878483,\n",
       " 2.878575,\n",
       " 2.878667,\n",
       " 2.878759,\n",
       " 2.878851,\n",
       " 2.878943,\n",
       " 2.879035,\n",
       " 2.879127,\n",
       " 2.879219,\n",
       " 2.879311,\n",
       " 2.879403,\n",
       " 2.879495,\n",
       " 2.879587,\n",
       " 2.879679,\n",
       " 2.879771,\n",
       " 2.879863,\n",
       " 2.879955,\n",
       " 2.880047,\n",
       " 2.880139,\n",
       " 2.880231,\n",
       " 2.880323,\n",
       " 2.880415,\n",
       " 2.880507,\n",
       " 2.880599,\n",
       " 2.880691,\n",
       " 2.880783,\n",
       " 2.880875,\n",
       " 2.880967,\n",
       " 2.881059,\n",
       " 2.881151,\n",
       " 2.881243,\n",
       " 2.881335,\n",
       " 2.881427,\n",
       " 2.881519,\n",
       " 2.881611,\n",
       " 2.881703,\n",
       " 2.881795,\n",
       " 2.881887,\n",
       " 2.881979,\n",
       " 2.882071,\n",
       " 2.882163,\n",
       " 2.882255,\n",
       " 2.882347,\n",
       " 2.882439,\n",
       " 2.882531,\n",
       " 2.882623,\n",
       " 2.882715,\n",
       " 2.882807,\n",
       " 2.882899,\n",
       " 2.882991,\n",
       " 2.883083,\n",
       " 2.883175,\n",
       " 2.883267,\n",
       " 2.883359,\n",
       " 2.883451,\n",
       " 2.883543,\n",
       " 2.883635,\n",
       " 2.883727,\n",
       " 2.883819,\n",
       " 2.883911,\n",
       " 2.884003,\n",
       " 2.884095,\n",
       " 2.884187,\n",
       " 2.884279,\n",
       " 2.884371,\n",
       " 2.884463,\n",
       " 2.884555,\n",
       " 2.884647,\n",
       " 2.884739,\n",
       " 2.884831,\n",
       " 2.884923,\n",
       " 2.885015,\n",
       " 2.885107,\n",
       " 2.885199,\n",
       " 2.885291,\n",
       " 2.885383,\n",
       " 2.885475,\n",
       " 2.885567,\n",
       " 2.885659,\n",
       " 2.885751,\n",
       " 2.885843,\n",
       " 2.885935,\n",
       " 2.886027,\n",
       " 2.886119,\n",
       " 2.886211,\n",
       " 2.886303,\n",
       " 2.886395,\n",
       " 2.886487,\n",
       " 2.886579,\n",
       " 2.886671,\n",
       " 2.886763,\n",
       " 2.886855,\n",
       " 2.886947,\n",
       " 2.887039,\n",
       " 2.887131,\n",
       " 2.887223,\n",
       " 2.887315,\n",
       " 2.887407,\n",
       " 2.887499,\n",
       " 2.887591,\n",
       " 2.887683,\n",
       " 2.887775,\n",
       " 2.887867,\n",
       " 2.887959,\n",
       " 2.888051,\n",
       " 2.888143,\n",
       " 2.888235,\n",
       " 2.888327,\n",
       " 2.888419,\n",
       " 2.888511,\n",
       " 2.888603,\n",
       " 2.888695,\n",
       " 2.888787,\n",
       " 2.888879,\n",
       " 2.888971,\n",
       " 2.889063,\n",
       " 2.889155,\n",
       " 2.889247,\n",
       " 2.889339,\n",
       " 2.889431,\n",
       " 2.889523,\n",
       " 2.889615,\n",
       " 2.889707,\n",
       " 2.889799,\n",
       " 2.889891,\n",
       " 2.889983,\n",
       " 2.890075,\n",
       " 2.890167,\n",
       " 2.890259,\n",
       " 2.890351,\n",
       " 2.890443,\n",
       " 2.890535,\n",
       " 2.890627,\n",
       " 2.890719,\n",
       " 2.890811,\n",
       " 2.890903,\n",
       " 2.890995,\n",
       " 2.891087,\n",
       " 2.891179,\n",
       " 2.891271,\n",
       " 2.891363,\n",
       " 2.891455,\n",
       " 2.891547,\n",
       " 2.891639,\n",
       " 2.891731,\n",
       " 2.891823,\n",
       " 2.891915,\n",
       " 2.892007,\n",
       " 2.892099,\n",
       " 2.892191,\n",
       " 2.892283,\n",
       " 2.892375,\n",
       " 2.892467,\n",
       " 2.892559,\n",
       " 2.892651,\n",
       " 2.892743,\n",
       " 2.892835,\n",
       " 2.892927,\n",
       " 2.893019,\n",
       " 2.893111,\n",
       " 2.893203,\n",
       " 2.893295,\n",
       " 2.893387,\n",
       " 2.893479,\n",
       " 2.893571,\n",
       " 2.893663,\n",
       " 2.893755,\n",
       " 2.893847,\n",
       " 2.893939,\n",
       " 2.894031,\n",
       " 2.894123,\n",
       " 2.894215,\n",
       " 2.894307,\n",
       " 2.894399,\n",
       " 2.894491,\n",
       " 2.894583,\n",
       " 2.894675,\n",
       " 2.894767,\n",
       " 2.894859,\n",
       " 2.894951,\n",
       " 2.895043,\n",
       " 2.895135,\n",
       " 2.895227,\n",
       " 2.895319,\n",
       " 2.895411,\n",
       " 2.895503,\n",
       " 2.895595,\n",
       " 2.895687,\n",
       " 2.895779,\n",
       " 2.895871,\n",
       " 2.895963,\n",
       " 2.896055,\n",
       " 2.896147,\n",
       " 2.896239,\n",
       " 2.896331,\n",
       " 2.896423,\n",
       " 2.896515,\n",
       " 2.896607,\n",
       " 2.896699,\n",
       " 2.896791,\n",
       " 2.896883,\n",
       " 2.896975,\n",
       " 2.897067,\n",
       " 2.897159,\n",
       " 2.897251,\n",
       " 2.897343,\n",
       " 2.897435,\n",
       " 2.897527,\n",
       " 2.897619,\n",
       " 2.897711,\n",
       " 2.897803,\n",
       " 2.897895,\n",
       " 2.897987,\n",
       " 2.898079,\n",
       " 2.898171,\n",
       " 2.898263,\n",
       " 2.898355,\n",
       " 2.898447,\n",
       " 2.898539,\n",
       " 2.898631,\n",
       " 2.898723,\n",
       " 2.898815,\n",
       " 2.898907,\n",
       " 2.898999,\n",
       " 2.899091,\n",
       " 2.899183,\n",
       " 2.899275,\n",
       " 2.899367,\n",
       " 2.899459,\n",
       " 2.899551,\n",
       " 2.899643,\n",
       " 2.899735,\n",
       " 2.899827,\n",
       " 2.899919,\n",
       " 2.900011,\n",
       " 2.900103,\n",
       " 2.900195,\n",
       " 2.900287,\n",
       " 2.900379,\n",
       " ...]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a"
  },
  "kernelspec": {
   "display_name": "Python 3.8.10 64-bit",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
